package net.easoftware.code.beans.facade;

import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
import net.easoftware.code.beans.JpaEntityConverter;
import net.easoftware.code.error.EaError;

/**
 *
 * @author eder.herrera
 */
@Named
@SessionScoped
public class LineaNegocio extends JpaEntityConverter implements Serializable {

    private Integer id;
    private String nombre;
    private String prefijo;
    private Boolean visible;

    public String getPrefijo() {
        return prefijo;
    }

    public void setPrefijo(String prefijo) {
        this.prefijo = prefijo;
    }

    public LineaNegocio() {
        this.setDestClassType(net.easoftware.code.beans.jpa.LineaNegocio.class);
    }

    public LineaNegocio(Integer id, String nombre) {
        this.id = id;
        this.nombre = nombre;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    @Override
    public boolean equals(Object other) {
        return ( other instanceof LineaNegocio ) && ( id != null )
                ? id.equals(( (LineaNegocio) other ).id)
                : ( other == this );
    }

    @Override
    public int hashCode() {
        return ( id != null )
                ? ( this.getClass().hashCode() + id.hashCode() )
                : super.hashCode();
    }

    public Boolean getVisible() {
        return visible;
    }

    public void setVisible(Boolean visible) {
        this.visible = visible;
    }

    @Override
    public Object getEntityBean() throws EaError {
        net.easoftware.code.beans.jpa.LineaNegocio ln = (net.easoftware.code.beans.jpa.LineaNegocio) super.getEntityBean();
        ln.setVisible(this.visible ? 1 : 0);
        return ln;
    }
}
